package com.firstclass.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 统一返回
 */
public class R {
    private static final String CODE = "code";
    private static final String MSG = "msg";
    private static final String DATA = "data";

    private R() {}

    public static String ok() {
        return ok("success", null);
    }

    public static String ok(Object data) {
        if (data instanceof String) {
            return ok((String) data, null);
        }
        return ok(null, data);
    }

    // 这里的 date 是 map 的话，那么这个 map 的 key 只能是 String
    public static String ok(String msg, Object data) {
        Map<String, Object> res = new HashMap<>(4);
        res.put(CODE, 200);
        res.put(MSG, msg);
        res.put(DATA, data);
        return FastJsonUtils.objectToJson(res);
    }

    public static String unlogin() {
        return error(401, "未登录");
    }

    public static String serious(String msg) {
        return error(500, msg);
    }

    public static String error(String msg) {
        return error(-1, msg);
    }

    public static String error(int code, String msg) {
        Map<String, Object> res = new HashMap<>(2);
        res.put(CODE, code);
        res.put(MSG, msg);
        return FastJsonUtils.objectToJson(res);
    }

}
